/*******************************************************************************
** 文件名称：app_uart1.h
** 文件作用：应用层UART1处理
** 编写作者：Tom Free 付瑞彪
** 编写时间：2020-06-21
** 文件备注：
**			 
** 更新记录：
**          2020-06-21 -> 创建文件                             <Tom Free 付瑞彪>
**
**              Copyright (c) 2018-2020 付瑞彪 All Rights Reserved
**
**       1 Tab == 4 Spaces     UTF-8     ANSI C Language(C99)
*******************************************************************************/
#ifndef __APP_UART1_H__
#define __APP_UART1_H__

#include "gm_type.h"

/*******************************************************************************
** 函数名称：UART1_Init
** 函数作用：初始化串口1
** 输入参数：无
** 输出参数：无
** 使用样例：UART1_Init();
** 函数备注：
*******************************************************************************/
void UART1_Init(void);

/*******************************************************************************
** 函数名称：UART1_PutChar
** 函数作用：输出字符函数
** 输入参数：ch - 字符
** 输出参数：无
** 使用范例：UART1_PutChar('C');
** 函数备注：
*******************************************************************************/
void UART1_PutChar(char ch);

/*******************************************************************************
** 函数名称：UART1_PutString
** 函数作用：输出字符串函数
** 输入参数：str - 字符串地址
** 输出参数：无
** 使用范例：UART1_PutString("Hello World!");
** 函数备注：
*******************************************************************************/
void UART1_PutString(char *str);

/*******************************************************************************
** 函数名称：HAL_UART1_Printf
** 函数作用：输出一个指定格式的字符串函数
** 输入参数：fmt - 待发送含格式的字符串首地址
** 输出参数：无
** 使用范例：HAL_UART1_PutString("value:%d"，100);
** 函数备注：
*******************************************************************************/
void UART1_Printf(const char *fmt, ...);

/*******************************************************************************
** 函数名称：UART1_HasData
** 函数作用：查询UART1是否有数据
** 输入参数：无
** 输出参数：是否存在数据
** 使用样例：UART1_HasData();
** 函数备注：
*******************************************************************************/
GM_BOOL UART1_HasData(void);

/*******************************************************************************
** 函数名称：UART1_GetChar
** 函数作用：读取字符
** 输入参数：无
** 输出参数：字符
** 使用样例：UART1_GetChar();
** 函数备注：
*******************************************************************************/
char UART1_GetChar(void);

/*******************************************************************************
** 函数名称：UART1_Scanf
** 函数作用：输入一个指定格式的字符串函数
** 输入参数：fmt - 待输入含格式的字符串首地址
** 输出参数：参数个数
** 使用范例：UART1_Scanf("%d", &a);
** 函数备注：
*******************************************************************************/
int UART1_Scanf(const char *fmt, ...);

#endif  /* __APP_UART1_H__ */
